package com.gljx.web.service;

import com.gljx.web.Entity.SubjectOneReg;
import com.gljx.web.Entity.User;

import java.util.List;
import java.util.Map;

public interface SubjectOneRegService {
	
	Map<String, Object> selectPageCount(String psql);

    Map<String, Object> selectPage(int pindex, String psql, int psize);
    
    /**
	 * 查找最大编码
	 * @return
	 */
	String selectFnumber(String companyId);
	/**
	 * 增加科目一考试登记信息
	 * @param record
	 * @return
	 */
	int addSubjectReg(SubjectOneReg subjectOneReg);
	/**
	 * 根据fid删除科目一考试登记信息
	 * @param fid
	 * @return
	 */
	int deleteByPrimaryKey(String fid);
	
	/**
	 * 根据fid查找科目一考试登记信息
	 * @param fid
	 * @return
	 */
	SubjectOneReg selectSubjectOneRegByFid(String fid);
	/**
	 * 根据fid修改科目一登记信息
	 * @param subjectOneReg
	 * @return
	 */
	int updateSubjectOneRegByFid(SubjectOneReg subjectOneReg);
	
	/**
	 * 根据业务日期查找科目一考试登记信息的单据
	 * @param fbizdate
	 * @param cfcartype
	 * @return
	 */
	List<SubjectOneReg> selSubjectOneRegByfbizdate(String companyid,String fbizdate,String cfcartype,String name);
	
	/**
	 * 统计查询科目一 报考人数 按日期
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectOneReg> selSubjectOneSumEnterPersons( String companyId,String beginTime,String endTime);
	
	/**
	 * 统计查询科目一  考试合格 不合格 缺考 人数  按日期
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectOneReg> selSubjectOneResultPassExamRate( String companyId,String beginTime,String endTime);
	
	/**
	 * 统计查询科目一 报考人数 按月份
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectOneReg> selSubjectOneSumEnterPersonsByMonth( String companyId,String beginTime,String endTime);
	
	/**
	 * 统计查询科目一  考试合格 不合格 缺考 人数  按月份
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectOneReg> selSubjectOneResultPassExamRateByMonth( String companyId,String beginTime,String endTime);

	/**
	 * 查找审核单据对应的经办人
	 * @param fnumber
	 * @return
	 */
	String selectAuditPerson(User user, Object fnumber);

	/**
	 * 查询科目一考试登记 导出excel
	 * @param fnumber
	 * @param fdescription
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectOneReg> selectSubjectOneReg(String companyId,String fnumber,String fdescription,String beginTime,String endTime);



}
